草庐IT

java - Android 实现了多少 Java 6 API?

全部标签

ruby - 使用 RSpec 和 VCR 测试 Web API

我正在编写一个作为gem的API包装器,我想使用RSpec测试API响应。问题是所有API请求都是使用GET发出的,并且在url中包含一个APIkey:例如游戏/元数据/{api_key}这给测试带来了问题,因为我不想将APIkey保留在git存储库历史记录中。有什么方法可以进行这些规范测试,最好是使用RSpec/VCR,而不是将APIkey存储在版本控制中?我试过使用环境变量,但VCR仍然存储整个请求,而不仅仅是响应主体。 最佳答案 VCR有一个专门针对这些情况的配置选项:VCR.configuredo|c|c.filter_se

ruby - 在 Ruby 中动态替换对象上的方法实现

我想用用户指定的block替换对象方法的实现。在JavaScript中,这很容易实现:functionFoo(){this.bar=function(x){console.log(x)}}foo=newFoo()foo.bar("baz")foo.bar=function(x){console.error(x)}foo.bar("baz")在C#中也很容易classFoo{publicActionBar{get;set;}publicFoo(){Bar=x=>Console.WriteLine(x);}}varfoo=Foo.new();foo.Bar("baz");foo.Bar=x

ruby-on-rails - 在 ruby​​ on rails 中使用 facebook graph api 时从 url 获取一个 json 对象

如何在我的ruby​​onrails代码中通过URL获取JSON对象:url="https://graph.facebook.com/me/friends?access_token=XXX"我无法获得有关JSON+RubyonRails的良好教程。谁能帮帮我,谢谢。 最佳答案 require'open-uri'require'json'json_object=JSON.parse(open("https://graph.facebook.com/me/friends?access_token=XXX").read)这是最简单的方法,

ruby - ruby 中方法名称的最大长度是多少?

我正在使用RubyMine,它告诉我unsubscribe_from_all_notifications...对于方法名称来说太长了。最大长度是多少? 最佳答案 在RubyMine中,您可以通过以下方式更改所有类别的Ruby名称的最大长度:选择菜单项RubyMine-->Preferences在左Pane中Editor下的结果模式对话框中,选择Inspections。在右侧的结果Pane中,选择Ruby-->NamingConventions。您有九类Ruby名称需要更改。每一个都显示一个用于最大长度的编辑字段。因此,例如,我将它们

ruby - 不转换成字符串,一个Fixnum有多少位数?

我想找到Fixnum的长度,num,而不将其转换为String。也就是说,在不调用.to_s()方法的情况下,num有多少位:num.to_s.length 最佳答案 putsMath.log10(1234).to_i+1#=>4您可以像这样将它添加到Fixnum:classFixnumdefnum_digitsMath.log10(self).to_i+1endendputs1234.num_digits#=>4 关于ruby-不转换成字符串,一个Fixnum有多少位数?,我们在Sta

ruby-on-rails - 如何区分 Newrelic 中的 Rails API 调用?

我使用Rails5为网站和RESTfulAPI提供服务,并使用Newrelic(newrelic_rpmgem)来监控应用程序性能。目前,gem监控对一个应用程序名称的所有请求。假设我的路线看起来像这样:Rails.application.routes.drawdoresources:usersnamespace:apidonamespace:v1doresources:users,only::indexendendend此处/users是网络应用程序的路由,api/users是API的路由。现在,一旦我使用newrelic_rpm,它就看不出API和网络之间的区别。我想为报告做更多的

ruby - 在 JRuby 中,如何确定导致 java.lang.ThreadDeath 的原因?

在为一些与JRuby中的临时文件交互的代码运行单元测试时,我有时会得到以下信息:Exception:java.lang.ThreadDeaththrownfromtheUncaughtExceptionHandlerinthread"Thread-6395"它似乎没有引起任何问题,但这是怎么回事,我如何确定它发生在哪里?我尝试打开-d,但这并没有给我异常的堆栈跟踪。 最佳答案 FWIW:这可能与http://jira.codehaus.org/browse/JRUBY-7074有关.我偶尔会在不使用反引号但调用系统的JRuby程序中

ruby-on-rails - 具有强参数的 Rails 4 API?

我正在使用Rails4构建一个简单的API,但是使用我的“创建”方法时,一切都出错了。这是我的路线文件的相关部分:namespace:api,defaults:{format:'json'}do#/api/...Api::scopemodule::v1,constraints:ApiConstraints.new(version:1,default:true)doresources:usersendend这是api/v1/users_controller.rb:classApi::V1::UsersController[],:instrument_ids=>[])endend每当我尝试

ruby - 如何检查 ruby​​ 方法中可选参数的默认值是多少?

给定一个类,classMyClassdefindex(arg1,arg2="hello")endend是否可以通过Class#instance_method等方法获取arg2的默认值? 最佳答案 似乎我们可以检查方法参数值的唯一方法是访问方法的binding。使用Tracepoint类,我们可以获取这样一个绑定(bind)对象,然后检查所有optional参数的值。我们需要确保只使用必需的参数调用所需的方法,以便为默认参数分配默认值。下面是我尝试这样做的-它适用于实例方法和类方法。为了调用实例方法,我们需要实例化类-如果构造函数需要

ruby-on-rails - 在 rspec 中 stub 未实现的方法

我正在测试我的模块,我决定用匿名类来测试它:subject(:klass){Class.new{includeMyModule}}MyModule使用klass中的方法name。为了让我的规范工作,我需要stub这个方法name(未实现)。所以我写道:subject{klass.new}allow(subject).toreceive(:name).and_return('SOreadytohelp')}但它引发了:RSpec::Mocks::MockExpectationError:#:0x007feb67c7adf8>doesnotimplement:namefromspec-su